package api

import (
	"fmt"
	"strconv"
	"time"
)

func init() {
	fmt.Println("api模块初始化成功……")
}

func Welcome() {
	fmt.Printf("欢迎陈文小超来到今天的golang语言学习……%v\n", time.Now())
}

// PtrModule 指针
func PtrModule() {
	var a int = 10
	fmt.Println("a变量地址是：", &a)
	fmt.Println("---------")

	var ptr *int = &a
	fmt.Println("ptr变量的值是：", ptr)
	fmt.Println("ptr变量地址是：", &ptr)
	fmt.Println("ptr变量指向的值是：", *ptr)
	fmt.Println("---------")
}

// StringToTransform 字符串转换
func StringToTransform() {
	var num1 int = 99
	var num2 float64 = 23.456
	var b bool = true
	var myChar byte = 'h'
	var str string

	// 第一种方式转换
	str = fmt.Sprintf("%d", num1)
	fmt.Printf("str type %T str=%q\n", str, str)

	str = fmt.Sprintf("%f", num2)
	fmt.Printf("str type %T str=%q\n", str, str)

	str = fmt.Sprintf("%t", b)
	fmt.Printf("str type %T str=%q\n", str, str)

	str = fmt.Sprintf("%c", myChar)
	fmt.Printf("str type %T str=%q\n", str, str)

	// 第二种方式转换
	var num3 int = 99
	var num4 float64 = 23.456
	var b2 bool = true

	str = strconv.FormatInt(int64(num3), 10)
	fmt.Printf("str type %T str=%q\n", str, str)

	str = strconv.FormatFloat(num4, 'g', 10, 64)
	fmt.Printf("str type %T str=%q\n", str, str)

	str = strconv.FormatBool(b2)
	fmt.Printf("str type %T str=%q\n", str, str)
}
